﻿<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <root>
    <!-- OFF FATAL ERROR WARN INFO DEBUG ALL-->
    <level value="ALL" />
    <!--这里默认记录所有日志，不管是否下面有自定义的日志，全部都会记录到这里（出现重复现象）-->
    <!--<appender-ref ref="LogFileAppender" />-->
  </root>
  <!--注意：如果配置文件中Level 写错，则会默认为ALL 级别-->
  
  <!--全局-->
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Log\PUBLIC\Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--最小锁定模型以允许多个进程可以写入同一个文件-->
    <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--HisServer-->
  <logger name="HisServer">
    <!--日志下面需要对不同 Level 的生成不同的文件 -->
    <appender-ref ref="HisServerAppender" />
    <appender-ref ref="HisServerAppenderDEBUG" />
  </logger>
  <appender name="HisServerAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Log\HISSERVER\Info_Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="DEBUG" />
      <param name="LevelMax" value="INFO" />
    </filter>
  </appender>
  <appender name="HisServerAppenderDEBUG" type="log4net.Appender.RollingFileAppender">
    <file value="Log\HISSERVER\Debug_Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="DEBG" />
      <param name="LevelMax" value="DEBG" />
    </filter>
  </appender>

  
  <!--Register-->
  <logger name="Register">
    <!--这个日志只针对DEBUG，而写其他Level的日志将无任何作用，如果要将所有Level 的日志都写在一个文件里 则设置成如下-->
    <!--<level value="ALL" />-->
    <level value="DEBUG" />
    <appender-ref ref="RegisterAppender" />
  </logger>
  <appender name="RegisterAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Log\REGISTER\Register_Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--Storeroom-->
  <logger name="Storeroom">
    <level value="DEBUG" />
    <appender-ref ref="StoreroomAppender" />
  </logger>
  <appender name="StoreroomAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Log\STOREROOM\Storeroom_Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--医保接口-->
  <logger name="MedicareManage">
    <level value="INFO" />
    <appender-ref ref="LogFileAppender" />
  </logger>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Log\MEDICAREMANAGE\MedicareManage_Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--风眼客户端-->
  <logger name="SystemManage">
    <level value="INFO" />
    <appender-ref ref="LogFileAppender" />
  </logger>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Log\SYSTEMMANAGE\System_Log" />
    <appendToFile value="true"/>
    <!--<param name="RollingStyle" value="Date"/>-->
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="50MB"/>
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>



  <!--数据访问分析-->
  <logger name="AccessLog">
    <level value="DEBUG"/>
    <appender-ref ref="DataAccessLogger" />
  </logger>
  <appender name="DataAccessLogger" type="log4net.Appender.RollingFileAppender">
    <!--日志的路径-->
    <file value="Log\DATAACCESS\DataAccess_Log" />
    <!--是否覆盖，默认是追加true-->
    <appendToFile value="true"/>
    <!--滚动类型-->
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--文件名称-->
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <!--设置无限备份=-1-->
    <maxSizeRollBackups value="-1"/>
    <!--每个文件的最大100k-->
    <maximumFileSize value="50MB"/>
    <!--名称是否可以更改为false为可以更改-->
    <param name="StaticLogFileName" value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>


  <!--致命错误-->
  <logger name="FatalLogger">
    <level value="FATAL"/>
    <appender-ref ref="FatalLog" />
  </logger>
  <appender name="FatalLog" type="log4net.Appender.RollingFileAppender">
    <!--日志的路径-->
    <file value="Log\FATAL\Fatal_Log" />
    <!--是否覆盖，默认是追加true-->
    <appendToFile value="true"/>
    <!--滚动类型-->
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--文件名称-->
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <!--设置无限备份=-1-->
    <maxSizeRollBackups value="-1"/>
    <!--每个文件的最大100k-->
    <maximumFileSize value="50MB"/>
    <!--名称是否可以更改为false为可以更改-->
    <param name="StaticLogFileName" value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--运行错误-->
  <logger name="ErrorLogger">
    <level value="ERROR"/>
    <appender-ref ref="ErrorLog" />
  </logger>
  <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
    <!--日志的路径-->
    <file value="Log\ERROR\Error_Log" />
    <!--是否覆盖，默认是追加true-->
    <appendToFile value="true"/>
    <!--滚动类型-->
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--文件名称-->
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <!--设置无限备份=-1-->
    <maxSizeRollBackups value="-1"/>
    <!--每个文件的最大100k-->
    <maximumFileSize value="50MB"/>
    <!--名称是否可以更改为false为可以更改-->
    <param name="StaticLogFileName" value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--警告-->
  <logger name="WarnLogger">
    <level value="WARN"/>
    <appender-ref ref="WarnLog" />
  </logger>
  <appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
    <!--日志的路径-->
    <file value="Log\WARN\Warn_Log" />
    <!--是否覆盖，默认是追加true-->
    <appendToFile value="true"/>
    <!--滚动类型-->
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--文件名称-->
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <!--设置无限备份=-1-->
    <maxSizeRollBackups value="-1"/>
    <!--每个文件的最大100k-->
    <maximumFileSize value="50MB"/>
    <!--名称是否可以更改为false为可以更改-->
    <param name="StaticLogFileName" value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--信息-->
  <logger name="InfoLogger">
    <level value="INFO"/>
    <appender-ref ref="InfoLog" />
  </logger>
  <appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
    <!--日志的路径-->
    <file value="Log\INFO\Info_Log" />
    <!--是否覆盖，默认是追加true-->
    <appendToFile value="true"/>
    <!--滚动类型-->
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--文件名称-->
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <!--设置无限备份=-1-->
    <maxSizeRollBackups value="-1"/>
    <!--每个文件的最大100k-->
    <maximumFileSize value="50MB"/>
    <!--名称是否可以更改为false为可以更改-->
    <param name="StaticLogFileName" value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>

  <!--调试-->
  <logger name="DebugLogger">
    <level value="DEBUG"/>
    <appender-ref ref="DebugLog" />
  </logger>
  <appender name="DebugLog" type="log4net.Appender.RollingFileAppender">
    <!--日志的路径-->
    <file value="Log\DEBUG\Debug_Log" />
    <!--是否覆盖，默认是追加true-->
    <appendToFile value="true"/>
    <!--滚动类型-->
    <!--<param name="RollingStyle" value="Date"/>-->
    <!--文件名称-->
    <DatePattern value="-yyyyMMdd&quot;.log&quot;"/>
    <!--设置无限备份=-1 ，最大备份数为1000-->
    <maxSizeRollBackups value="-1"/>
    <!--每个文件的最大50MB-->
    <maximumFileSize value="50MB"/>
    <!--名称是否可以更改为false为可以更改-->
    <param name="StaticLogFileName" value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t]  %c  %p %n%m%n" />
    </layout>
  </appender>
</log4net>